package cn.jetpiece.cloud.log.api.model.params;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 创建网关日志记录
 * </p>
 *
 * @author XuJZ
 */
@Data
@ApiModel
public class GatewayLogParam implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * UUID
     */
    @ApiModelProperty(value = "UUID")
    private Long id;

    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号")
    private Long userId;

    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号")
    private String username;

    /**
     * 访问实例
     */
    @ApiModelProperty(value = "访问实例")
    private String targetServer;

    /**
     * IP地址
     */
    @ApiModelProperty(value = "IP地址")
    private String ipAddress;

    /**
     * 请求协议
     */
    @ApiModelProperty(value = "请求协议")
    private String requestSchema;

    /**
     * 请求方法
     */
    @ApiModelProperty(value = "请求方法")
    private String requestMethod;

    /**
     * 请求路径
     */
    @ApiModelProperty(value = "请求路径")
    private String requestPath;

    /**
     * 请求头部
     */
    @ApiModelProperty(value = "请求头部")
    private String requestHeader;

    /**
     * 请求体
     */
    @ApiModelProperty(value = "请求体")
    private String requestBody;

    /**
     * 请求体
     */
    @ApiModelProperty(value = "请求体")
    private String responseData;

    /**
     * 请求时间
     */
    @ApiModelProperty(value = "请求时间")
    private Date requestTime;

    /**
     * 相应时间
     */
    @ApiModelProperty(value = "相应时间")
    private Date responseTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Long executeTime;
}
